Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

машина Тюрінга

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Комп'ютерна інженерія
Кафедра:
Кафедра ЕПМС

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
АМО

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 1 на тему: " Програмування машин Тьюрінга " з дисципліни: " AЛГОРИТМИ ТА МЕТОДИ ОБЧИСЛЕНЬ " № варіанта = [21+ 77] % 30 + 1=9 1. МЕТА РОБОТИ Вивчити принципи роботи машин Тюринга, набути практичних навичок програмування машин Тьюрінга. ПОСТАНОВКА ЗАДАЧІ 2.1. Загальна частина Розробити алгоритм розв'язання задачі згідно з індивідуальним завданням. Використання додаткових символів, що не входять в алфавит А, має бути обгрунтоване. Скласти програму для мишини Тьюрінга. В початковому стані каретка МТ має розпізнавати перший зліва символ вхідного слова Р. В кінцевому стані каретка МТ має зупинитись під одним із символів вихідного слова (під яким саме - не має значення). Відлагодження і тестування програми провести в середовищі емулятора мишини Тьюрінга. Записати в середовищі емулятора в поле Условие задачи варіант і умову індивідуального завдання. В поле Комментарий записати коротке пояснення дій, які реалізуються у відповідних станах каретки. Визначити часову (T), місткісну (M) та програмну (P) складності алгоритму, представленого у вигляді програми для МТ. 2.2. Індивідуальне завдання 9. A={a,b,c}. Замінити в непорожньому слові P кожне входження символів bc на символ a. СЛОВЕСНИЙ ОПИС АЛГОРИТМУ Для розв'язання цієї задачі потрібно виконати наступні дії: Вихідне слово будемо будувати справа від вхідного. Щоб розмежувати ці слова, відокремимо їх деяким допоміжним символом, відмінним від всіх символів алфавіту A, наприклад знаком = (крок 1). Після цього повертаємось до початку вхідного слова (крок 2).  Далі в циклі копіюємо і переносимо всі символи вхідного слова, крім символа c, вправо за знак =, тобто формуємо вихідне слово. Для цього аналізуємо кожний символ вхідного слова і заміняємо його на двійника. Якщо це символ c, то повертаємося до попереднього символа (крок 4). Якщо попередній символ b, то біжимо вправо до першої вільної комірки (крок 5). Повертаємося на 1 символ вліво (останній символ вихідного слова) і заміняємо його на символ a (крок 6). Якщо ж цей символ відмінний від b, то записуємо символ c вкінці вихідного слова.  Коли буде скопійовано останній символ вхідного слова і повернуто до його двійника, то потім після переміщення на одну позицію вправо потрапимо на знак = (крок 6). Це сигнал про те, що вхідне слово повністю скопійовано, тому роботу МТ треба завершувати, а кретку перемістити на 1 символ вліво.  3.1. Обгрунтування вибору додаткових символів, що не входять в алфавит А Щоб розмежувати вхідне і вихідне слово, я відокремив їх деяким допоміжним символом, відмінним від всіх символів алфавіту A, знаком =. Оскільки я копіюю вхідне слово, то записавши справа копію чергового символу, потрібно повернутися до вхідного слова в позицію цього символа, і потім переміститися вправо до наступного символа, щоб скопіювати вже його. Щоб довідатися в яку позицію вхідного слова треба повернутися, вводимо додаткові символи. Коли ми опиняємось в цій позиції в перший раз, то заміняємо символ, що в ній знаходиться, на його двійника - на новий допоміжний символ, причому різні символи заміняємо на різні двійники : a на A , b на B , с на С. Після цього виконуються якісь дії в інших місцях стрічки. Щоб потім повернутись до потрібної позиції, треба просто відшукати на стрічці ту комірку, де перебуває символ A або B. Саме для відновлення колишнього символу і треба було ввести додаткові символи. АЛГОРИТМ У ВИГЛЯДІ ПРОГРАМИ ДЛЯ МТ Повна таблиця   a0 a b c = A B C Пояснення  q1 q2=L q1aR q1bR q1cR         ставимо знак = після слова  q2 q3a0R q2aL q2bL q2cL         йдемо вліво на 1-й символ  q3   q4AR q8BL q6CR q0=L       аналіз і заміна чергового символа  q4 q7a q4aR q4bR q4cR q4=R       запис а зправа  q5 q7b q5aR q5bR q5cR q5=R       запис b зправа  q6 q7c q6aR q6bR...
Антиботан аватар за замовчуванням

25.05.2013 17:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини